互聯網時代的到來對企業的經營方式產生了深遠的影響。如果大多數公司想要保持相關性和競爭力,那么維持在線形象就不再是可選的了。現有和潛在客戶使用 Internet 進行購買、管理他們的帳戶、研究產品等等。這樣做的好處是無法估量的,但它并非沒有黑暗的一面——黑客。由于您的網站和在線聲譽如此之多,因此確保您的服務器安全絕對至關重要。
安全專業人員的整個職業生涯都致力于跟上在線威脅不斷發展的本質,而全球公司擁有擁有大量資源的完整團隊,致力于確保其在線資產的安全。承擔保護服務器安全的工作似乎是一項艱巨的任務,但我們隨時為您提供幫助!我們已經確定了一些關鍵做法,這些做法可以保護您的服務器,足以抵御絕大多數攻擊,并勸阻除最精英黑客之外的所有人。使用這些方法來保護您的服務器并不需要大量的系統管理能力,但如果您愿意將其交給我們有能力的人 ,請查看我們的管理計劃和SecureServer+服務。
躲在防火墻后面
任何安全環境的第一道防線都是防火墻。有幾種防火墻可供選擇,但它們通常都具有相同的基本功能。防火墻是駐留在互聯網和服務器上任何面向網絡的服務之間的應用程序或物理設備。它充當網絡流量的看門人,使用一組規則過濾入站和出站連接。然而,防火墻的好壞取決于它使用的規則。配置良好的防火墻可以過濾掉絕大多數惡意連接,而配置不當的防火墻則效率低下。
第一個決定是硬件還是軟件。大多數現代操作系統都帶有內置的軟件防火墻應用程序,這通常就足夠了。專用設備,也稱為硬件防火墻,通常用于多服務器環境的前面,為防火墻管理提供單點。
無論您最終使用哪種類型的防火墻,下一步都是定義一套好的規則。配置防火墻時的第 1 條規則,尤其是遠程配置時,要非常小心,不要通過阻止您用于訪問防火墻的連接來鎖定自己。如果您不小心阻止了自己的連接(通常是物理控制臺或帶外控制臺解決方案(如 IPMI、ILO 或 DRAC),那么使用備用訪問方法來更改防火墻規則始終是一個好習慣。
首先考慮您的服務器提供哪些服務。網絡服務利用特定端口來幫助區分連接類型。將它們想象成一條非常寬的高速公路上的車道,帶有分隔線以防止有人改變車道。例如,Web 服務器通常將端口 80 用于標準連接,將端口 443 用于使用 SSL 證書保護的連接。這些服務可以配置為使用非標準端口,因此請務必驗證您的服務正在使用哪些端口。
接下來,確定您將如何遠程管理您的服務器。在 Windows 上,這通常通過 RDP(遠程桌面協議)完成,而在 Linux 上,您可能會使用 SSH(安全外殼)。理想情況下,您將希望阻止對除少數 IP 或小子網之外的所有 IP 或小子網的管理端口的訪問,以限制組織內任何人對這些協議的訪問。例如,如果您是 Linux 服務器的唯一管理員,請打開 SSH 端口(通常為 22)以僅來自您計算機的靜態 IP 地址的連接。如果您沒有靜態 IP 地址,您通常可以確定一個子網,您將從該子網中分配一個 IP。雖然將一系列 IP 列入白名單并不理想,但它比將該端口開放給整個互聯網要好得多。
要生成一組可靠的規則,請阻止來自所有 IP 的所有端口,然后創建特定規則以打開您的服務和管理所需的端口——記住不要將自己鎖定在外。為您的服務打開的端口通常應從所有 IP 開放,但如上所述限制管理端口。
雖然防火墻不應該是您唯一的防線,但創建一組合理的防火墻規則是增強服務器安全性的一個很好的起點。事實上,任何服務器都不應該沒有基本的防火墻配置。
身份驗證和密碼
增強服務器安全性的最簡單方法之一就是強制執行強身份驗證策略。您的服務器僅與密碼最弱的帳戶一樣安全。對于在服務器上使用的任何密碼,請遵循良好的密碼準則,例如確保您的密碼長度足夠,而不是字典單詞,并且不要用于其他本身可能會受到損害并泄露您的密碼的服務。雖然您可以通過良好的防火墻配置限制對服務器的遠程訪問,但仍有一些漏洞可用于通過在開放網絡端口上運行的受損或未修補服務向系統發送命令。
在許多情況下,完全沒有密碼是可能的(而且更方便)!如果您訪問服務器的主要方法是通過 SSH,您可以在服務器的 SSH 配置文件中禁用密碼驗證,而是使用一對公鑰和私鑰來授權您的連接。
請記住,如果您需要能夠隨時從任何地方登錄到您的服務器,則此方法可能不太方便,因為您需要將您的私鑰添加到您正在連接的任何新系統。此外,雖然這種方法使遠程連接的安全性提高了一個數量級,但請不要忘記在您的帳戶上設置一個強密碼。黑客有時能夠以其他方式訪問系統,并且您不希望擁有一個由“1234”之類的密碼保護的具有高級訪問權限的帳戶。
如今,兩因素身份驗證 (2FA) 變得非常流行。使用 2FA 時,用戶不僅需要使用密碼進行身份驗證,還需要提供一次性使用代碼,發送到之前注冊的電子郵件地址或移動設備,以進一步驗證其身份。可以通過第三方服務或使用啟用 2FA 的帳戶(如 Google 或 Microsoft)在您的服務器上實施類似的操作。cPanel\WHM 現在支持雙重身份驗證,因此如果您將此控制面板用作服務器管理的主要方式,這可能是您的一個選項。
蠻力保護
服務器上常見的攻擊向量是蠻力攻擊。這些是使用猜測的用戶名和密碼進行的遠程登錄嘗試,一遍又一遍地重復,只要服務器和網絡允許的話。在不受保護的情況下,每天可能會進行數十萬次嘗試——足以在一個月內破解任何 8 個字符的密碼。出于這個原因,在您的服務器上安裝某種形式的蠻力保護是明智的。
大多數蠻力保護方法采用兩種形式之一。第一種方法在登錄嘗試之間引入了超時。即使此超時時間只有一秒,這也可能導致攻擊花費數倍的時間來破解密碼。您可能需要更長的超時時間以提供更好的安全性,同時又不會過度干擾用戶輸入錯誤的合法登錄嘗試。一些系統對這種方法采取了一種巧妙的方法,通過增加每次失敗嘗試的超時時間,通常是指數級的。失敗一次,等待1秒。再次失敗,等待 5 秒。第三次失敗,等待 30 秒……到第四次嘗試時,您將非常小心地輸入密碼。
或者,此方法的變體對在設定的時間段內允許的嘗試次數設置了硬上限。登錄失敗次數過多會導致帳戶被鎖定——無論是暫時的,還是在更極端的情況下,直到被服務器管理員解鎖。這種方法有效地阻止了任何暴力攻擊,但對于那些在輸入密碼時不太小心的有效用戶來說可能會更煩人。
第二種方法是在登錄請求中引入驗證碼。這迫使用戶執行一項對人類來說微不足道但對計算機來說卻很困難的壯舉。通常,這涉及某種圖像識別,例如識別網格中包含路燈的所有圖片,或破譯一些以模糊字體書寫的文本。雖然計算機通常最終能夠解決這些請求,但它比普通人花費的時間要長得多,并且大大減慢了攻擊速度。驗證碼還經常用于保護公眾評論部分免受垃圾郵件帖子和注冊表單的虛假帳戶創建。
蠻力保護可以在許多防火墻或操作系統本身中找到——但不要忘記其他帳戶,例如 WordPress、cPanel/WHM 等。確保任何暴露的登錄都啟用了某種形式的蠻力保護。
軟件更新和安全補丁
軟件和操作系統更新以及安全補丁對于維護安全服務器也很重要。如果您運行的是易受已知漏洞攻擊的過時版本的操作系統,您的所有其他努力都將毫無意義,并且完全白費。
大多數軟件和操作系統供應商都投入了大量資源來保持他們的產品針對最近發現的漏洞進行修補,以至于許多次要版本包含的安全修復比功能更新更多。對其產品的舊版本保持這種級別的警惕性可能會付出高昂的代價,因此軟件和操作系統通常會在多年后被歸類為生命周期結束 (EOL)。除其他外,這意味著該產品將不再接收在達到 EOL 后可能發現的漏洞的更新。
這種類型的常見案例與 PHP 相關,PHP 是 Web 上常用的一種腳本語言。在本文發布時,所有早于 7.2 的 PHP 版本都已停產。盡管如此,5.3 之前的 PHP 版本仍然很常見。7.2 和 5.3 之間存在顯著差異,如果不對代碼進行重大修改,就不可能升級到受支持的版本。
幸運的是,通過這個 PHP 版本的特定示例,CloudLinux 為您提供了一個cPanel 服務器。CloudLinux 提供舊 PHP 版本的強化版本以及安全更新,遠遠超過 EOL 日期。然而,這個問題可能發生在任何軟件上,而且大多數軟件都沒有像 CloudLinux 這樣簡單的解決方案。
運行過時的操作系統也不是好習慣。例如,CentOS 5 已經 EOL 一段時間了,但它并不是一個非常罕見的景象。如果你碰巧在運行這樣的東西,你應該盡快規劃你的升級路徑。當您運行的操作系統進入 EOL 時,通常即使您服務器上受支持的軟件也將停止接收更新,因為供應商不會在 EOL 操作系統版本上限定新版本。這會對服務器的安全性產生級聯的負面影響。
代碼和自定義應用程序
不幸的是,即使是最堅固的服務器仍然容易受到不安全代碼或網站上運行的應用程序的攻擊。
如果您正在運行可自定義的 Web 應用程序,例如 WordPress、Joomla 或 Magento,那么不僅要讓核心應用程序保持最新,還要讓任何插件或主題保持最新狀態,這一點至關重要。這也適用于項目本身的代碼——如果你懷疑你的主題或插件已經“死”并且不再更新,那么尋找替代品是明智的。不斷發現新的漏洞,應用程序或插件僅與上次更新一樣安全。
在處理開發人員為您創建的自定義代碼時,明智的做法是與您的開發人員保持持續的關系,以便您可以繼續接收更新。否則,您可能會遇到上述情況,您會發現您無法再更新您的 PHP 或其他重要軟件,因為該網站與新版本不兼容。
這種攻擊向量可能是最難防御的,因為您的數據中心或托管服務提供商通常不支持在您的服務器上運行的自定義軟件和代碼。除非您運行的是完全現成的軟件,否則請確保您有計劃更新和修補代碼。
如您所見,保護服務器遠遠超出了初始設置。雖然這很重要,但同樣重要的是保持最新狀態,以對抗不斷增長的已知黑客和漏洞利用列表。受損系統造成的經濟損失和聲譽損失可能是巨大的。正如那句古老的格言所說,一盎司的預防勝于一磅的治療。